package com.gitee.cnlongdb.basic.utils;

import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 系统名称：DealStrSubUtils
 * 模块名称：
 × 模块描述：字符串分割工具类
 × 功能列表：
 × 模块作者：ZOUYONG
 × 开发时间：2018年12月23日 下午12:58:11
 × 模块路径：com.gitee.cnlongdb.basic.utils.DealStrSubUtils
 */
public class DealStrSubUtils {

	/**
	 * 功能描述：正则表达式匹配两个指定字符串中间的内容
	 × 模块作者：ZOUYONG
	 × 开发时间：2018年12月23日 下午12:57:26
	 × 返回数据：List<String>
	 */
	public static List<String> getSubUtil(String soap,String rgex) {
		List<String> list = new ArrayList<String>();
		Pattern pattern = Pattern.compile(rgex);// 匹配的模式
		Matcher m = pattern.matcher(soap);
		while (m.find()) {
			int i = 1;
			list.add(m.group(i));
			i++;
		}
		return list;
	}

	/**
	 * 功能描述：返回单个字符串，若匹配到多个的话就返回第一个，方法与getSubUtil一样
	 × 模块作者：ZOUYONG
	 × 开发时间：2018年12月23日 下午12:57:43
	 × 返回数据：String
	 */
	public static String getSubUtilSimple(String soap,String rgex){
		Pattern pattern = Pattern.compile(rgex); 
		Matcher m = pattern.matcher(soap);
		while(m.find()){
			return m.group(1);
		}
		return "";
	}

	/**
     * 测试
     * @param args
     */
	public static void main(String[] args) {
		String str = "tableMatching 'UserEntity：code;UserOrderEntity：userCode'";
		String rgex = "'(.*?)'";
		System.out.println(getSubUtil(str,rgex));
		System.out.println(getSubUtilSimple(str, rgex));
	}
}
 

